package com.example.knowleage.dates;

import java.time.Clock;
import java.util.Date;

/**
 * @ClassName SixDate
 * @Description Java中的与时间相关的6个类
 * 1. java.util.Date   最常用的日期类，现在并不推荐用，也可以看到里面很多方法都不推荐使用了，
 *                  原因有，可读性差，线程不安全，无法设置时区，里面好多方法都过时了
 * @Author KunxianLi
 * Date 2021/5/2 10:51
 * Version 1.0
 **/
public class SixDate {

    public static void main(String[] args) {

        // 1.构造函数  Date()   底层是用了System.currentTimeMillis
        Date date = new Date();
        // 默认返回格式 ：dow mon dd hh:mm:ss zzz yyyy   星期  月份  日期  时分秒  时区  年
        System.out.println(new Date());
        //2 .构造函数 Date(long date)  2021-04-02 13:50:32
        Date date1 = new Date(1617342632000l);
        System.out.println(date1);
        //3.boolean after(Date when) 判断时间是否再when时间之后，如果是返回true
        System.out.println(date.after(date1));
        //4.boolean before(Date when) 判断时间是否再when时间之前，如果是返回true
        System.out.println(date.before(date1));
        //5.long getTime() 获取该时间的时间戳，毫秒级别
        System.out.println(date.getTime());
        //6.setTime(long time),重新设置时间  2021-05-02 13:50:32
        date1.setTime(1619934632000l);
        System.out.println(date1);

        Clock clock = Clock.systemDefaultZone();
        long millis = clock.millis();
    }


}
